Page({
  getList(callback) {
    const {
      _page,
      _limit,
      list
    } = this.data
    wx.request({
      url: 'http://localhost:3000/list',
      data: {
        _page: _page,
        _limit: _limit
      },
      success: (resp) => {
        this.setData({
          list: [...list, ...resp.data],
          total: resp.header['X-Total-Count']
        })
      },
      complete: () => {
        typeof callback === 'function' && callback()
      }
    })
  },
  /**
   * 页面的初始数据
   */
  data: {
    // 存储 列表
    list: [],
    // 当前页码
    _page: 1,
    // 总数据
    total: 0,
    // 是否加载完毕
    isFinish: false,
    // 每个加载个人
    _limit: 30
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.getList()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    // 下拉刷新
    this.setData({
      _page: 1,
      list: [],
      isFinish: false,
    })

    this.getList(() => wx.stopPullDownRefresh());

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    const {
      _page,
      list,
      total
    } = this.data
    // 是否存在下一页数据
    if (list.length >= total) {
      this.setData({
        isFinish: true
      })
      return;
    }

    // 底部函数-- 
    // 页码 + 1
    this.setData({
      _page: _page + 1
    })
    // 再一次请求数据
    this.getList()
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})